package org.ruoyi.interview.service;

import org.ruoyi.common.mybatis.core.page.PageQuery;
import org.ruoyi.common.mybatis.core.page.TableDataInfo;
import org.ruoyi.interview.domain.bo.InterviewQuestionFieldBo;
import org.ruoyi.interview.domain.vo.InterviewQuestionFieldVo;

import java.util.Collection;
import java.util.List;

/**
 * 题目领域Service接口
 *
 * @author ruoyi
 */
public interface IInterviewQuestionFieldService {

    /**
     * 查询题目领域
     *
     * @param fieldId 题目领域主键
     * @return 题目领域
     */
    InterviewQuestionFieldVo selectInterviewQuestionFieldById(Long fieldId);

    /**
     * 查询题目领域列表
     *
     * @param bo 题目领域业务对象
     * @param pageQuery 分页对象
     * @return 题目领域集合
     */
    TableDataInfo<InterviewQuestionFieldVo> selectInterviewQuestionFieldList(InterviewQuestionFieldBo bo, PageQuery pageQuery);

    /**
     * 查询题目领域列表
     *
     * @param bo 题目领域业务对象
     * @return 题目领域集合
     */
    List<InterviewQuestionFieldVo> selectInterviewQuestionFieldList(InterviewQuestionFieldBo bo);

    /**
     * 新增题目领域
     *
     * @param bo 题目领域业务对象
     * @return 结果
     */
    Boolean insertInterviewQuestionField(InterviewQuestionFieldBo bo);

    /**
     * 修改题目领域
     *
     * @param bo 题目领域业务对象
     * @return 结果
     */
    Boolean updateInterviewQuestionField(InterviewQuestionFieldBo bo);

    /**
     * 批量删除题目领域
     *
     * @param fieldIds 需要删除的题目领域主键集合
     * @return 结果
     */
    Boolean deleteInterviewQuestionFieldByIds(Collection<Long> fieldIds);
}